From d498e9b588fd59aabc82eea8e87962435b0fe191 Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Mon, 24 Jun 2013 17:59:02 -0400 Subject: [PATCH] GtkMenuTracker: fix leak when creating submenus --- gtk/gtkmenutracker.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/gtk/gtkmenutracker.c b/gtk/gtkmenutracker.c index ab369ab02f..c9e8459cc8 100644 --- a/gtk/gtkmenutracker.c +++ b/gtk/gtkmenutracker.c @@ -473,11 +473,20 @@ gtk_menu_tracker_new_for_item_submenu (GtkMenuTrackerItem *item, GtkMenuTrackerRemoveFunc remove_func, gpointer user_data) { - return gtk_menu_tracker_new (_gtk_menu_tracker_item_get_observable (item), - _gtk_menu_tracker_item_get_submenu (item), - TRUE, - _gtk_menu_tracker_item_get_submenu_namespace (item), - insert_func, remove_func, user_data); + GtkMenuTracker *tracker; + GMenuModel *submenu; + gchar *namespace; + + submenu = _gtk_menu_tracker_item_get_submenu (item); + namespace = _gtk_menu_tracker_item_get_submenu_namespace (item); + + tracker = gtk_menu_tracker_new (_gtk_menu_tracker_item_get_observable (item), submenu, + TRUE, namespace, insert_func, remove_func, user_data); + + g_object_unref (submenu); + g_free (namespace); + + return tracker; } /*< private > -- 2.30.2